package com.boot.mgt.service

import com.boot.core.result.ResultTo
import com.boot.mgt.controller.web.vo.TaPoliceVo
import com.googlecode.jsonrpc4j.JsonRpcService
import java.util.*

@JsonRpcService("police")
interface TaPoliceService {

    fun getPoliceById(id: String): ResultTo

    fun list(type: Int?, police_number: String?, name: String?, page_index: Int, page_size:Int , isAll: Boolean): ResultTo

    fun edit(policeVo: TaPoliceVo): ResultTo

    fun editRpc(policeVo: TaPoliceVo, police_level: Int, police_id: String, org_num: String): ResultTo

    fun editNoOldPassword(policeVo: TaPoliceVo): ResultTo

    fun selectScheduling(type: Int?, police_number: String?, start_time: Date?, end_time: Date?): ResultTo

    fun scheduling(police_number: String, date: String): ResultTo

    fun searchAllPolice(police_number: String?): MutableList<MutableMap<String, Any>>

    fun searchPoliceById(police_number: String?): MutableMap<String, Any>

    fun searchPoliceBySql(sql: String): List<MutableMap<String, Any>>

    fun consRegion(sql: String): String?

    fun updatePoliceApp(police_number: String, newPassword: String): Any?

    companion object {
        const val DEF_SALT: String = "qkjr_123"
    }
}